package com.sg.dto.biz.component.res;

import com.sg.common.dto.BaseDto;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;

import java.io.Serializable;

/**
 * @desc QueryConfItemMatchEvaTempAnswerDetailComRespDto
 * @使用场景
 */
@Data
public class QueryConfItemMatchEvaTempAnswerDetailComRespDto
        extends BaseDto
        implements Serializable {

    /**
     * 父周期周期类型
     */
    @ApiModelProperty("父周期周期类型")
    private String fatherCycleType;

    /**
     * 周期类型
     */
    @ApiModelProperty("周期类型")
    private String cycleType;

    /**
     * 父周期子周期数量
     */
    @ApiModelProperty("父周期子周期数量")
    private Long fatherSubcycleQuantity;

    /**
     * 中期周期类型
     */
    @ApiModelProperty("中期周期类型")
    private String midCycleType;

    /**
     * 中期子周期数量
     */
    @ApiModelProperty("中期子周期数量")
    private Long midSubcycleQuantity;

    /**
     * 子周期周期类型
     */
    @ApiModelProperty("子周期周期类型")
    private String subcycleType;

    /**
     * 单周期周期类型
     */
    @ApiModelProperty("单周期周期类型")
    private String monocycleCycleType;

    /**
     * 冗余评价模板类型
     */
    @ApiModelProperty("冗余评价模板类型")
    private String evaluationTemplateTypeCode;

    /**
     * 冗余目标规划模板子类型
     */
    @ApiModelProperty("冗余目标规划模板子类型")
    private String targetPlanTempSubtype;

    /**
     * 规划类型 GENERAL_PLANNING:常规规划 THEMATIC_PLANNING:专题规划
     */
    @ApiModelProperty("规划类型")
    private String planningType;

    /**
     * 是否开启中期 TRUE:是 FALSE:否
     */
    @ApiModelProperty("是否开启中期")
    private String openMidCycle;

    /**
     * 周期模式 FATHER_SON_CYCLE:父子周期 SINGLE_CYCLE:单周期 IRREGULAR_CYCLE:不规则周期
     */
    @ApiModelProperty("周期模式")
    private String cycleMode;

    /**
     * 是否开启评价工作 TRUE:是 FALSE:否
     */
    @ApiModelProperty("是否开启评价工作")
    private String isOpenEvaWork;

    /**
     * 五年周期配置标识
     */
    @ApiModelProperty("五年周期配置标识")
    private String fiveYear;

    /**
     * 三年周期配置标识
     */
    @ApiModelProperty("三年周期配置标识")
    private String threeYear;

    /**
     * 年周期配置标识
     */
    @ApiModelProperty("年周期配置标识")
    private String year;

    /**
     * 半年周期配置标识
     */
    @ApiModelProperty("半年周期配置标识")
    private String halfYear;

    /**
     * 季度周期配置标识
     */
    @ApiModelProperty("季度周期配置标识")
    private String quarter;

    /**
     * 双月周期配置标识
     */
    @ApiModelProperty("双月周期配置标识")
    private String doubleMonths;

    /**
     * 月周期配置标识
     */
    @ApiModelProperty("月周期配置标识")
    private String month;

    /**
     * 开启创建业务应用标识
     */
    @ApiModelProperty("开启创建业务应用标识")
    private String openCreateBizAppCode;

    /**
     * 是否开启规划方案类别 TRUE:是 FALSE:否
     */
    @ApiModelProperty("是否开启规划方案类别")
    private String isOpenPlanSchemeClass;

    /**
     * 周期体系类型标识 YEAR:自然年 SCHOOL_YEAR:学年
     */
    @ApiModelProperty("周期体系类型标识")
    private String cycleSystemCode;

    /**
     * 是否开启填报工作 TRUE:是 FALSE:否
     */
    @ApiModelProperty("是否开启填报工作")
    private String isOpenFillWork;

    /**
     * 规划方案类别 MASTER_PLAN:总规划 SUB_PLAN:分规划 LITTLE_PLAN:子规划
     */
    @ApiModelProperty("规划方案类别")
    private String planSchemeClass;

    /**
     * OKR类型 OKR_FREE:不含OKR型 PURE_OKR:纯OKR型 MIXED:混合型
     */
    @ApiModelProperty("OKR类型")
    private String okrType;

    /**
     * 时段计算参照时间
     */
    @ApiModelProperty("时段计算参照时间")
    private Long timeCountReferTime;

    /**
     * 时段规则设置级别 EVA_TEMP_LEVEL:评价模板级 CYCLE_TYPE_LEVEL:周期类型级 UNLIMITED:不限
     */
    @ApiModelProperty("时段规则设置级别")
    private String timeRulesSetLevel;

    /**
     * 填报时段规则标识
     */
    @ApiModelProperty("填报时段规则标识")
    private String fillTimeRulesCode;

    /**
     * 评价时段规则标识
     */
    @ApiModelProperty("评价时段规则标识")
    private String evaTimeRulesCode;

    /**
     * 末级周期类型 HALF_YEAR:半年 QUARTER:季度 DOUBLE_MONTHS:双月 MONTH:月 DOUBLE_WEEKS:双周 WEEK:周 DISABLE:不启用
     */
    @ApiModelProperty("末级周期类型")
    private String lastCycleType;

    /**
     * 指标分工规则 SUBORDINATE_DEPT_BE:不允许混合分工 SUBORDINATE_DEPT_PART_EXIST:允许混合分工
     */
    @ApiModelProperty("指标分工规则")
    private String targetDivRule;

    /**
     * 小数最后一位规则 MALING:尾数抹零 ROUNDED:尾数四舍五入
     */
    @ApiModelProperty("小数最后一位规则")
    private String decimalDigitsLastRules;

    /**
     * 目标值计算方式 INITIAL_VALUE_COUNT:按起始值计算 TARGET_VALUE_COUNT:按目标值计算
     */
    @ApiModelProperty("目标值计算方式")
    private String targetValueCountType;

    /**
     * 运算符号 GREATER_THAN:大于 LESS_THAN:小于 EQUAL:等于 GREATER_EQUAL_THAN:大于等于 LESS_EQUAL_THAN:小于等于 ALL_NOT_EQUAL:均不低于 ALL_NOT_GREATER:均不高于
     */
    @ApiModelProperty("运算符号")
    private String logicalOperator;

    /**
     * 目标满分制单位
     */
    @ApiModelProperty("目标满分制单位")
    private String targetFullMarkUnit;

    /**
     * 是否开启主观评分 TRUE:是 FALSE:否
     */
    @ApiModelProperty("是否开启主观评分")
    private String isSubjectiveScoring;

    /**
     * 是否开启自定义汇报 TRUE:是 FALSE:否
     */
    @ApiModelProperty("是否开启自定义汇报")
    private String isOpenCustomReport;

    /**
     * 建设任务是否自动汇报 TRUE:是 FALSE:否
     */
    @ApiModelProperty("建设任务是否自动汇报")
    private String constIsOpenAtuoReport;

    /**
     * 建设任务是否开启生成汇报任务 TRUE:是 FALSE:否
     */
    @ApiModelProperty("建设任务是否开启生成汇报任务")
    private String constTaskIsOpenReport;

    /**
     * 增降幅小数点规则
     */
    @ApiModelProperty("增降幅小数点规则")
    private String increasesDropDecimalPoint;

    /**
     * 是否开启生成任务计划结束时间 TRUE:是 FALSE:否
     */
    @ApiModelProperty("是否开启生成任务计划结束时间")
    private String isOpenCreateTaskPlanTime;

    /**
     * 评价模板商业参数
     */
    @ApiModelProperty("评价模板商业参数")
    private String schemeDataPara;

    /**
     * 目标分类目标得分是否开启本级得分 TRUE:是 FALSE:否
     */
    @ApiModelProperty("目标分类目标得分是否开启本级得分")
    private String actualScoreIsOpenLocalLevelScore;

    /**
     * 实际值计算类型 SUMMARIZE:取子周期累计相加值 LAST_OF_SUBPERIOD:取子周期最后值 MAX_OF_SUBPERIOD:取子周期最高值 MIN_OF_SUBPERIOD:取子周期最低值 AVG_OF_SUBPERIOD:取子周期平均值 SPEC_AVG_OF_SUBPERIOD:去除最大最小取子周期平均值 MANUAL_FILLING:人工填报
     */
    @ApiModelProperty("实际值计算类型")
    private String actualUfuncType;

    /**
     * 是否开启过程中期 TRUE:是 FALSE:否
     */
    @ApiModelProperty("是否开启过程中期")
    private String isOpenMidProcess;

    /**
     * 冗余开启OKR场景
     */
    @ApiModelProperty("冗余开启OKR场景")
    private String isOkrPlanScene;

    /**
     * 汇报类型 ARTIFICIAL_REPORT:人工汇报 SEMIAUTOMATIC_REPORT:半自动汇报 AUTO_REPORT:全自动汇报
     */
    @ApiModelProperty("汇报类型")
    private String reportType;

    /**
     * 当前主观得分权重
     */
    @ApiModelProperty("当前主观得分权重")
    private String curSubjectiveScoreWeight;

    /**
     * 过程主观得分权重
     */
    @ApiModelProperty("过程主观得分权重")
    private String processSubjectiveScoreWeight;

    /**
     * 权重分小数点规则
     */
    @ApiModelProperty("权重分小数点规则   ")
    private String weightDecimalPoint;

    /**
     * 权重小数点规则
     */
    @ApiModelProperty("权重小数点规则")
    private String weightPoint;

    /**
     * 主客观得分_主观得分权重
     */
    @ApiModelProperty("主客观得分_主观得分权重")
    private Double subjectiveScoreWeight;

    /**
     * 主客观得分_客观得分权重
     */
    @ApiModelProperty("主客观得分_客观得分权重")
    private Double objectiveScoreWeight;

    /**
     * 本级过程得分_过程中期得分权重
     */
    @ApiModelProperty("本级过程得分_过程中期得分权重")
    private Double processReportScoreProMidWeight;

    /**
     * 本级过程得分_最近平均分权重
     */
    @ApiModelProperty("本级过程得分_最近平均分权重")
    private Double processReportScoreAvgWeight;

    /**
     * 本级过程得分_自身KR得分权重
     */
    @ApiModelProperty("本级过程得分_自身KR得分权重")
    private Double processReportScoreKrWeight;

    /**
     * 11汇报得分_过程汇报得分权重
     */
    @ApiModelProperty("11汇报得分_过程汇报得分权重")
    private Double reportScoreProcessWeight;

    /**
     * 本级过程得分_主客观得分权重
     */
    @ApiModelProperty("本级过程得分_主客观得分权重")
    private Double reportScoreSubAndObjWeight;

    /**
     * 目标得分_本级过程得分权重
     */
    @ApiModelProperty("目标得分_本级过程得分权重")
    private Double actualScoreLocalLevelWeight;

    /**
     * 目标得分_下级目标得分权重
     */
    @ApiModelProperty("目标得分_下级目标得分权重")
    private Double actualScoreLowerLevelWeight;

    /**
     * 本级过程得分_中期目标得分权重
     */
    @ApiModelProperty("本级过程得分_中期目标得分权重")
    private Double processReportScoreMidWeight;

    /**
     * 主观评分满分值
     */
    @ApiModelProperty("主观评分满分值")
    private Long subjectiveRatingTotalValue;

    /**
     * 汇报管理模式菜单
     */
    @ApiModelProperty("汇报管理模式菜单")
    private String reportMgtModelMenus;

    /**
     * 是否开启下级汇报限制 TRUE:是 FALSE:否
     */
    @ApiModelProperty("是否开启下级汇报限制")
    private String isOpenSubReportLimit;

    /**
     * 是否开启主管人工审核 TRUE:是 FALSE:否
     */
    @ApiModelProperty("是否开启主管人工审核")
    private String isOpenAudit;

}
